package com.lh.entity.table;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.lh.entity.vo.TicketProblemPercentVo;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;
import java.util.List;

@Data
@TableName( "ticket_problem_info")
public class TicketProblemInfo {

    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 工单编号
     */
     @TableField("ticket_no")
    private String ticketNo;

    @TableField("rectification_id")
    private Integer rectificationId;

    /**
     * 诉求内容
     */
     @TableField("content")
    private String content;

    /**
     * 风险等级（1一般，2较大，3重大，4敏感词）
     */
     @TableField("risk_level")
    private String riskLevel;

    /**
     * 附件文件
     */
     @TableField("annex_file")
    private String annexFile;

    /**
     * 状态，0为关闭，1为正常，2驳回
     */
     @TableField("status")
    private String status;

    /**
     * 是否评价（0未评价，1已评价）
     */
     @TableField("is_evaluate")
    private String isEvaluate;

    /**
     * 评价内容
     */
     @TableField("evaluate_content")
    private String evaluateContent;

    /**
     * 评价得分（0满意，1不满意）
     */
     @TableField("evaluate_score")
    private String evaluateScore;

    /**
     * 备注
     */
     @TableField("remark")
    private String remark;

    /**
     * 标题
     */
     @TableField("title")
    private String title;

    /**
     * 评价时间
     */
     @TableField("evaluate_time")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date evaluateTime;

    /**
     * 突出问题
     */
     @TableField("prominent_issue")
    private String prominentIssue;

    /**
     * 问题类型
     */
     @TableField("issue_type")
    private String issueType;

    /**
     * 问题类别
     */
     @TableField("issue_category")
    private String issueCategory;

    /**
     * 问题子类别
     */
     @TableField("issue_sub_category")
    private String issueSubCategory;

    /**
     * 数据来源（1上级交办，2群众投诉，3干部自查）
     */
     @TableField("data_resource")
    private String dataResource;

    /**
     * 来源描述
     */
     @TableField("resource_description")
    private String resourceDescription;

    /**
     * 创建时间
     */
     @TableField("created_time")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createdTime;

    /**
     * 完成时限
     */
     @TableField("complete_deadline")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date completeDeadline;

    /**
     * 完成要求
     */
     @TableField("complete_description")
    private String completeDescription;

    /**
     * 申诉人
     */
     @TableField("applicant_name")
    private String applicantName;

    /**
     * 申诉人电话
     */
     @TableField("applicant_phone_number")
    private String applicantPhoneNumber;

    /**
     * 流程处理人id
     */
     @TableField("process_handler_id")
    private String processHandlerId;

    /**
     * 流程处理人部门
     */
     @TableField("process_handler_department")
    private String processHandlerDepartment;

    /**
     * 流程处理人名称
     */
     @TableField("process_handler_name")
    private String processHandlerName;

    /**
     * 当前流程节点名称
     */
     @TableField("process_node_name")
    private String processNodeName;

    /**
     * 结束时间
     */
     @TableField("end_time")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date endTime;

    /**
     * 诉求人
     */
     @TableField("appeal_name")
    private String appealName;

    /**
     * 诉求人电话
     */
     @TableField("appeal_phone_number")
    private String appealPhoneNumber;

    /**
     * 区域名称
     */
     @TableField("area_name")
    private String areaName;


    /**
     * 牵头单位
     */
     @TableField("lead_unit")
    private String leadUnit;

    /**
     * 问题汇总id
     */
     @TableField("summary_id")
    private Integer summaryId;

     /**
     * 任务id
     */
     @TableField("task2_id")
    private Integer task2Id;

    /**
     * 牵头单位是否审核
     */
     @TableField("lead_check")
    private String leadCheck;

    /**
     * 行业主管
     */
     @TableField("industry_manager")
    private String industryManager;

    /**
     * 行业主管是否确认
     */
     @TableField("manager_check")
    private String managerCheck;

    /**
     * 学教办是否审核
     */
     @TableField("xjb_check")
    private String xjbCheck;

    /**
     * 整改目标
     */
     @TableField("rectification_objective")
    private String rectificationObjective;

    /**
     * 整改措施
     */
     @TableField("rectification_measure")
    private String rectificationMeasure;

    /**
     * 验收标准
     */
     @TableField("acceptance_criteria")
    private String acceptanceCriteria;

    /**
     * 参会人员
     */
     @TableField("participants")
    private String participants;

    /**
     * 会议时限
     */
     @TableField("meet_deadline")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date meetDeadline;

    /**
     * 会议时间
     */
     @TableField("meet_time")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date meetTime;

    /**
     * 实际参会人员
     */
     @TableField("actually_participants")
    private String actuallyParticipants;

    @TableField(exist = false)
    private String mouldName;

    @TableField(exist = false)
    private String nodeName;

     @TableField("score")
    private Double score;

     @TableField("label")
    private String label;

     @TableField("charge_leader")
    private String chargeLeader;

     @TableField("leader_position")
    private String leaderPosition;

     /**
     * 预警级别（1绿色、2黄色、3红色）
     */
    @TableField("warn_level")
    private String warnLevel;

    @TableField(exist = false)
    private List<TicketProblemPercentVo> ticketProblemPercentVoList;

    @TableField(exist = false)
    private List<DeadlineNode> DeadlineNodeList;

}